A State-Based Model Slicing: A Survey
نویسندگان
چکیده
Program slicing is a source code analysis and manipulation technique, in which a subprogram is identified based on a user-specified slicing criterion. The criterion captures the point of interest within the program, while the process of slicing consists of following dependencies to locate those parts of the program that may affect the slicing criterion [Weiser 1979]. Some flavours of slicing merely highlight the identified subprogram within the larger program, while others actively rewrite the program based upon the identified subprogram. As an increasing portion of software production is done with models – particularly specification and design – researchers have moved from considering only program slicing to model slicing. The need for model slicing is strong: models convey many types of information better than programs, but become unwieldy in scale far quicker. Software modelling encompasses a number of different languages, with UML – the de facto standard modelling language – containing several distinct sub-languages. Each different modelling language needs to be considered differently, with the challenges facing class models (describing static structure) being different than object
منابع مشابه
Dependence for Slicing State-based Models: A Survey
Dependence is a relation that determines which parts of a system influence the computation of another part. Dependence analysis underpins many activities in computer science, such as model checking, debugging, slicing, security. We are interested in dependence analysis for slicing for finite state machine-based models. In this paper we survey existing dependence relations defined for slicing at...
متن کاملStatic program transformations for efficient software model checking
Ensuring correctness of software by formal methods is a very relevant and widely studied problem. Automatic verification of software using model checking suffers from the state space explosion problem. Abstraction is emerging as the key candidate for making the model checking problem tractable, and a large body of research exists on abstraction based verification. Many useful abstractions are p...
متن کاملSurvey of Slicing Finite State Machine Models
Slicing is a technique, traditionally applied to programs, for extracting the parts of a program that affect the values computed at a statement of interest. In recent years authors have begun to consider slicing at the model level. We present a detailed review of existing work on slicing at the level of finite state machine-based models. We focus on state based modelling notations because these...
متن کاملA Review of Model Based Slicing
Software testing is important to reduce errors, maintenance and overall software costs. Testing the software is an activity whose aims to evaluate the feature or competency of system and determining that whether it meets required prospects. To comfort this one way is program slicing, this method is to break down the large programs into smaller ones and other is model based slicing that break do...
متن کاملProperty-based Slicing for Agent Verification
Programming languages designed specifically for multi-agent systems represent a new programming paradigm that has gained popularity over recent years, with some multi-agent programming languages being used in increasingly sophisticated applications, often in critical areas. To support this, we have developed a set of tools to allow the use of model-checking techniques in the verification of sys...
متن کامل